package com.engine4cloud.tdf.supervision.dto.result;

import com.engine4cloud.tdf.common.core.constant.enums.NormalAuditActionStatusEnum;
import io.swagger.v3.oas.annotations.Hidden;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 进入特定区域
 *
 * @author wenjie
 * @date 2024-05-31 10:24:42
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "进入特定区域-请求对象")
public class SpAccessSpecificResultDTO extends CreateTimeResultDTO {
    /**
     * 主键
     */
    @Schema(description = "主键")
    private Long id;

    /**
     * 社区矫正人员编号
     */
    @Schema(description = "社区矫正人员编号")
    private String rybh;

    /**
     * 流程编号
     */
    @Schema(description = "流程编号")
    private String lcbh;

    @Hidden
    @Schema(description = "进入场所所在省（区、市）")
    private String sqjrszs;

    @Hidden
    @Schema(description = "进入场所所在地（市、州）")
    private String sqjrszds;

    @Hidden
    @Schema(description = "进入场所所在县（市、区）")
    private String sqjrszxq;

    @Hidden
    @Schema(description = "进入场所所在（乡镇、街道）")
    private String sqjrszd;

    /**
     * 申请进入场所
     */
    @Schema(description = "申请进入场所", example = "香港特别行政区")
    private String sqjrcs;

    /**
     * 申请时间
     */
    @Schema(description = "申请时间", example = "2024-05-01 00:00:00")
    private LocalDateTime sqsj;

    /**
     * 申请进入时间
     */
    @Schema(description = "申请进入时间", example = "2024-05-01 00:00:00")
    private LocalDateTime sqjrrq;

    /**
     * 申请离开时间
     */
    @Schema(description = "申请离开时间", example = "2024-05-01 00:00:00")
    private LocalDateTime sqjsrq;

    /**
     * 申请理由
     */
    @Schema(description = "申请理由", example = "走亲戚")
    private String sqly;

    /**
     * 备注
     */
    @Schema(description = "备注")
    private String bz;

    /**
     * 审核动作
     */
    @Schema(description = "审核动作", example = "CREATE")
    private NormalAuditActionStatusEnum preAction;

    /**
     * 进入场所
     */
    @Schema(description = "进入场所", example = "[\"460000\",\"46000A\",\"469006\",\"36327\"]")
    private List<String> areaList;
    /**
     * 法律文书
     */
    @Schema(description = "法律文书", example = "[{\"name\": \"张三进入特定区域申请.doc\",\"url\": \"/users/张三进入特定区域申请.doc\"}]")
    private List<JzdxFileResultDTO> instrumentList;
}